home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / CUGUK / APPLICAT / C034.ZIP / DEMO.CMD < prev    next >
OS/2 REXX Batch file  |  2010-11-01  |  3KB  |  225 lines

  1. set verify;
  2. define etc
  3. enter continue:
  4.  
  5. #
  6. # THIS IS A DEMONSTRATION OF SETTING UP TWO SMALL
  7. # DATABASES AND APPLYING A RELATIONAL JOIN ACROSS THEM.
  8. #
  9. # When the Enter continue prompt is given, you may press
  10. # ENTER when ready to proceed.
  11. #
  12. # FIRST - CREATE CARS DATABASE
  13. #
  14. etc
  15. create cars
  16. make char 10
  17. model char 11
  18. capacity num 5
  19. mpg num 2
  20. price num 8 2
  21. ;
  22. #
  23. # NOW WE'LL INSERT SOME CARS
  24. #
  25. etc
  26. insert cars
  27. Ford
  28. Escort L
  29. 1300
  30. 45
  31. 4300.53
  32. Vauxhall
  33. Cavalier
  34. 1600
  35. 39
  36. 5600.67
  37. Ferrari
  38. Gt30
  39. 5400
  40. 18
  41. 23000.45
  42. Austin
  43. Allegro
  44. 1300
  45. 50
  46. 3400.23
  47. Porche
  48. 911
  49. 2400
  50. 32
  51. 5600.50
  52. Seat
  53. 1100
  54. 1100
  55. 45
  56. 2300.45
  57.  
  58. #
  59. # NOW PRINT THEM IN TABULAR FORM
  60. #
  61. etc
  62. print cars;
  63. #
  64. # AND SORT THEM
  65. #
  66. etc
  67. sort cars by make, model, capacity;
  68. print cars;
  69. #
  70. # NOW WE'LL DO A SELECTION OF CHEAP ONES
  71. # AND TOTAL UP THEIR PRICES
  72. #
  73. etc
  74. print make, model, price+ of cars with price < 5000;
  75. #
  76. # NOW WE'LL CREATE A SECOND DATABASE OF MAKERS
  77. #
  78. etc
  79. create makers
  80. maker
  81. char 10
  82. country char 10
  83. ;
  84. #
  85. # AND INSERT SOME MAKERS
  86. #
  87. insert makers
  88. Ford
  89. britain
  90. Austin
  91. britain
  92. Vauxhall
  93. britain
  94. Ferrari
  95. italy
  96. Fiat
  97. italy
  98. Porche
  99. germany
  100. Renault
  101. france
  102. Seat
  103. spain
  104. Citroen
  105. france
  106. Rover
  107. britain
  108.  
  109. #
  110. # SORT THEM
  111. #
  112. etc
  113. sort makers by maker;
  114. print makers;
  115. #
  116. # NOW WE'LL JOIN THE TWO DATABASES
  117. #
  118. etc
  119. print make, model, price, country of cars, makers
  120. with make = maker;
  121. #
  122. # ADD A FEW MORE CARS
  123. #
  124. etc
  125. insert cars
  126. Fiat
  127. Strada
  128. 1700
  129. 34
  130. 4500.65
  131. Renault
  132. 5
  133. 1100
  134. 56
  135. 5600.56
  136. Rover
  137. 100
  138. 2000
  139. 35
  140. 6700.62
  141. Austin
  142. Westminster
  143. 3000
  144. 22
  145. 500.23
  146. Citroen
  147. 2CV
  148. 23
  149. 98
  150. 1300.73
  151.  
  152. sort cars by make, model
  153. ;
  154. #
  155. # NOW DEFINE A MACRO FOR DOING JOIN
  156. #
  157. define ourcars
  158. make, model, capacity, mpg, price
  159. of cars, makers
  160. with make = maker
  161. and country = "britain";
  162.  
  163. #
  164. # PRINT USING THE MACRO
  165. #
  166. etc
  167. print ourcars
  168. #
  169. # DO ANOTHER LITTLE SELECTION
  170. #
  171. etc
  172. print maker of makers with country = "britain";
  173. #
  174. # Now we'll demonstrate the format files
  175. #
  176. # FIRST A FORMATTED TABULATION
  177. #
  178. etc
  179. set page 8;
  180. print using cars cars;
  181. etc
  182. #
  183. # WE'LL DEMONSTRATE FINDING A SELECTION
  184. # TO A 'CURRENT' DATABASE
  185. #
  186. find cars with capacity > 2000;
  187. #
  188. # AND PRINT IT (NOTE: PRINT STATEMENT DEFAULTS TO CURRENT DATABASE)
  189. #
  190. etc
  191. print;
  192. #
  193. # AND WE WILL RENAME THEM TO MAKE THEM PERMANENT
  194. #
  195. etc
  196. rename current bigcars;
  197. #
  198. # NOW PRINT ECONOMICAL BIG CARS IN A FORM LETTER
  199. #
  200. etc
  201. print using letter bigcars with mpg > 30;
  202. #
  203. # JUST TO SHOW THEY ARE NOT THAT PERMANENT :-
  204. #
  205. etc
  206. erase bigcars
  207. #
  208. # DEMO OF HOW TO PRODUCE FILE SUITABLE FOR INPUT TO
  209. # BASIC (OR ONE OF THE PRODUCTS SUPPORTING COMMA
  210. # SEPARATED DATA - SUCH AS DBASE II OR SUPERCALC).
  211. #
  212. # TYPE OUT FILE "CARS.DAT" WHEN FINISHED
  213. #
  214. etc
  215. print using tobasic cars into "cars.dat";
  216. #
  217. # OVER TO YOU NOW
  218. # (Type 'exit' when finished)
  219. #
  220. # To delete demo databases, type
  221. #
  222. #    dbq> erase cars
  223. #    dbq> erase makers
  224. #
  225.  TO YOU N